// import Executor from "../executor"
// import EEdge from "./edge/do"
// import ELoop from "./loop/do"
// import EIf from "./if/do"
// import EScript from "./script/do"


// const cells:Record<string,(main:Executor,id:string,ctx:Record<string,any>) => any> = {
//     edge:EEdge,
//     loop:ELoop,
//     if:EIf,
//     script:EScript,
// }



// export default (main:Executor) => {
    
//     // 运行一个节点
//     const run = (id:string,ctx:Record<string,any> = {}) => {
//         const name = main.names.get(id) || 'edge';
//         if(cells[name]){
//             return cells[name](main,id,ctx)
//         }
//         return undefined;
//     }
//     // 运行边运算
//     const next = (id:string,ctx:Record<string,any> = {}) => {
//         let res = true;
//         const es = main.nodeEdges.get(id) || [];
//         for(const e of es){
//             const b = cells.edge(main,e.id,ctx);
//             if(b === true && e.target.cell){
//                 res = res &&  (run(e.target.cell,ctx) === false ? false : true)
//             }
//         }

//         return res;
//     }

//     return {run,next}
// }